//
//  NSDate+ZXCategory.h
//  MobileCaiLocal
//
//  Created by simon on 2021/3/19.
//  Copyright © 2021 com.Chs. All rights reserved.
//
//  2021.7.13 修改

#import <Foundation/Foundation.h>
#import "NSDateFormatter+CAICategory.h"

NS_ASSUME_NONNULL_BEGIN

@interface NSDate (ZXCategory)



/// 获取当前时间与指定时间的时间间隔差
/// @param dateString 指定字符串格式的时间
/// @param format 指定时间的格式化
+ (NSTimeInterval)zx_timeIntervalSinceAnotherDateString:(NSString *)dateString
                                             dateFormat:(NSString *)format;


/**
 根据时间差，换算成（剩余）几天几小时几分

 @param time 需要换算的时间差,以秒为单位
 @param flag 是否需要秒
 @return 几天几小时几分；几天几小时几分几秒
 例如：
 NSTimeInterval time = [NSDate zx_timeIntervalSinceAnotherDateString:@"2021-03-31 20:32:40" dateFormat:@"yyyy-MM-dd HH:mm:ss"];
 NSString *str = [NSDate zx_stringValueWithTimeDifference:time showSeconds:YES format:YES];
 */

+ (nullable NSString *)zx_stringValueWithTimeDifference:(NSTimeInterval)time
                                            showSeconds:(BOOL)flag
                                                 format:(BOOL)formatting;



/// 返回一个基于系统启动后的时钟tick(嘀嗒)数；秒
+ (CFTimeInterval)currentTickMediaTime;


/// 计算当前block作用域的所有函数的执行时间
/// @param block 回调函数
+ (double)currentScopeAbsoluteTimeBlock:(void(^)(void))block;

@end

NS_ASSUME_NONNULL_END
